# 列表使用
# 列表的声明方式，以中括号括起来，内部的元素用,分割
list1=[]   #声明了一个空列表
# 声明了一个列表，并对列表中的元素进行初始赋值
list1=[9,"python",3.5,9]
print(list1)
print(type(list1))
print(list1[1]) #通过下标对列表中的元素进行取值
list1[3]="列表讲解"  #通过下标，对列表中的元素重新赋值
print(list1)
# 列表中支持切片处理
# 列表中是否越界，切片的使用方式与字符串中相同
# print(list1[9])
print(list1[0:6])
# 可以通过for循环进行列表的遍历
for item in list1:
    print(item)
    pass
# list是一种有序的集合，可以随时添加和删除其中的元素。


##########################新增操作####################################
# append 方法，可以在列表后，直接进行元素的追加
list1.append(3)
list1.append("青岛")
list1.append(3.04)
list1.append([1,9,"白日依山尽"])
print(list1)

# insert方法，可以在指定的位置进行元素的插入，第一个参数代表是指定插入元素的位置（下标），第二个参数表示的是需要插入的元素
list1.insert(1,"高新区")
print(list1)

# extend 方法，可以实现批量添加，将另一个列表中的元素，批量添加到当前列表中
list2=["白日依山尽",3.04,8]
list1.extend(list2)
print(list1)

###########################删除方法############################################
# pop方法，默认删除列表中的最后一个元素
list1.pop()
print(list1)
# pop方法若添加参数，可以指定删除元素的下标
list1.pop(1)
print(list1)
# remove方法 ，可以移除指定元素，若列表中有多个重复元素，则移除从左向右数，第一个出现的元素
list1.remove(3)
print(list1)
list1.remove(3.04)
print(list1)
# 使用del指令批量删除
# 可以指定删除的范围
# del list1[0:4]
# print(list1)
# print("================================")
# 也可以直接指定变量进行删除，删除后，不能再获取该变量
# del list1
# print(list1)

#################修改方法###########################
list1[3]=9
print(list1)
# 如果想要修改列表中的列表元素的值？
print(list1[1])
list1[5][0]=3
print(list1)
#################查询方法####################################
# count 方法，统计某个元素在列表中出现的次数
print(list1.count(9))
# index方法，获取列表中指定元素的索引值,若查询的元素列表中有多个相同的值，则返回从左到右第一个出现的元素的索引
print(list1.index("python"))
print(list1.index(9))
# reverse 方法，可以实现反转列表
list1.reverse()
print(list1)
# sort方法 ，可以将列表进行排序,需要按照一定规则进行排序，即列表中的数据是同类型的
# 参数中可以指定排序方式（正序、倒叙），reverse默认值是False，为正序列表，可以将reverse的值设置魏True，则列表待续排列
list3=["python","java","mysql","springboot","mybatis"]
print(list3)
list3.sort(reverse=False)
print(list3)
# 列表支持切片，与字符串的切片处理一致。

# len方法，可以查看列表的长度
print(len(list3))
